#pragma once

/*! @brief A generic text control class
 *
 * Implements auto completion.
 **/
class ColligereTextCtrl : public wxTextCtrl
{
public:
	ColligereTextCtrl ( wxWindow *pParent, wxWindowID id, const wxString &rValue = wxEmptyString, 
		const wxPoint &rPos = wxDefaultPosition, const wxSize &rSize = wxDefaultSize, 
		long style = 0, const wxValidator &rValidator = wxDefaultValidator,
		const wxString &rName = wxTextCtrlNameStr );
private:
	/*! @brief Default constructor.
	 *
	 * Only for DECLARE_DYNAMIC_CLASS.
	 **/
	ColligereTextCtrl() { }

// public:
	DECLARE_DYNAMIC_CLASS ( ColligereTextCtrl );
};

/*! @brief A generic combobox control class
 *
 * Implements auto completion.
 **/
class ColligereComboBox : public wxAutoComboBox
{
public:
	ColligereComboBox ( wxWindow *pParent, wxWindowID id, 
		const wxString &rValue = wxEmptyString,
		const wxPoint &rPos = wxDefaultPosition, 
		const wxSize &rSize = wxDefaultSize, wxInt32 n = 0,
		const wxString *pChoices = 0, long style = 0, 
		const wxValidator &rValidator = wxDefaultValidator, 
		const wxString &rName = wxComboBoxNameStr );
private:
	/*! @brief Default constructor.
	 *
	 * Only for DECLARE_DYNAMIC_CLASS.
	 **/
	ColligereComboBox() { }

// public:
	DECLARE_DYNAMIC_CLASS ( ColligereComboBox );
};